iT邦幫忙

2021 iThome 鐵人賽

DAY 8
2
Software Development

你還在用手動測試嗎?30 天帶你學會前端自動化測試框架 - Cypress系列 第 8

自動化測試,讓你上班擁有一杯咖啡的時間 | Day 8 - 用 beforeEach 歸納重複行為

  • 分享至 

  • xImage
  •  

此系列文章會同步發文到個人部落格,有興趣的讀者可以前往觀看喔。

當測試腳本有重複的地方,除了可以寫在 command.js 外,也可以依照不同使用狀況將程式碼寫在 before, beforeEach, after, afterEach 中。

before:在測試前執行一次

before(() => {
})

beforeEach:在每個測試用例之前都會執行

beforeEach(() => {
})

after:在測試後執行一次

after(() => {
})

afterEach:在每個測試用例之後都會執行

afterEach(() => {
})

動手寫程式

這個腳本有兩個測試用例,在 beforeEach 中寫在每個測試用例之前都要執行訪問地址和登入,在 afterEach中寫在每個測試用例之後都要登出。

describe("測試鐵人賽登入", function () {
  beforeEach(()=>{
    cy.visit("https://ithelp.ithome.com.tw/");
    cy.login({ userId: "account", password: "password" });
  })

  afterEach(()=>{
    cy.get('li > a').contains("登出").click({force: true,}); //點選登出
  })

  it("輸入正確帳密後應該要可以登入", function () {
    cy.get('.img-circle').click({force: true,}); //點選頭像
  })

  it("搜尋cypress後,應該要有文章", function () {
    cy.get('.menu__search-toggle').click({force: true});  //點選搜尋
    cy.get('.menu__search-input').type('cypress')  //搜尋cypress
    cy.get('#searchIronman').click({force: true,}); //選擇鐵人賽
    cy.get('.menu__dropform-btn').click({force: true}); //點選搜尋
    cy.get(".search-qa-list__title-link").contains("自動化測試,讓你上班擁有一杯咖啡的時間 ").should("be.visible"); //要有cypress
  })

})

https://ithelp.ithome.com.tw/upload/images/20210921/201408830C711KuTqk.png

參考資料


上一篇
自動化測試,讓你上班擁有一杯咖啡的時間 | Day 7 - 如何寫斷言
下一篇
自動化測試,讓你上班擁有一杯咖啡的時間 | Day 9 - 如何上傳圖片
系列文
你還在用手動測試嗎?30 天帶你學會前端自動化測試框架 - Cypress30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言